home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / programs / zdcs201.zip / ZDCSWALK.TXT < prev    next >
Text File  |  1993-02-02  |  44KB  |  957 lines

  1.           Zipfile Duplicate Checking System (ZDCS)  Ver. 2.0
  2.               Copyright (C) 1991, 1992  Michael W. Cocke
  3.  --------------------------------------------------------------------
  4.  
  5.  
  6.   A Walk-Through Guide for Installing and Using ZDCS on a PCBoard BBS
  7.  
  8.  
  9.           Table of Contents
  10.           -----------------
  11.  
  12.           HELLO!                                                   
  13.           OVERVIEW OF ZDCS                                         
  14.           ZDCS OPTIONS                                             
  15.                Deleting Duplicate Files                            
  16.                Allowed Duplicates                                  
  17.                BBS Ads                                             
  18.                Privileged Users                                    
  19.                Pre-Testing                                         
  20.           INSTALLATION                                             
  21.           STEP 1 - Copy the ZDCS files                             
  22.           STEP 2 - Set up the config file                          
  23.                Line 1                                              
  24.                Line 2                                              
  25.                Line 3                                              
  26.                Line 4                                              
  27.                Line 5                                              
  28.                Line 6                                              
  29.                Line 7                                              
  30.                Line 8                                              
  31.                Line 9                                              
  32.                Line 10                                             
  33.                Line 11                                             
  34.                Line 12                                             
  35.                Line 13                                             
  36.           STEP 3 - Create the initial database                     
  37.           STEP 4 - Create the bbs ads database                     
  38.           STEP 5 - Create the list of allowed duplicates           
  39.           STEP 6 - Set up the upload file check                    
  40.           PRE-TESTING                                              
  41.           THAT'S ALL, FOLKS!                                       
  42.  
  43.  
  44.  
  45. HELLO!
  46. ------
  47.  
  48. ZDCS is a shareware set of utilities intended to help a PCBoard sysop
  49. deal with the problem of duplicate files, whether those files are
  50. already on the bbs or are being uploaded by a caller.  It provides
  51. specific support for looking inside archives made with PKZIP,
  52. including PKZIP version 1.93 (ZIP files), archives made with ARJ (ARJ
  53. files), and self-extracting files made with either PKZIP or ARJ (SFX
  54. files).  ZDCS processes all of these archives so that the differences
  55. between them are transparent to the sysop and caller.  To make this
  56. walk-through easier to read, we'll refer to all of these file types as
  57. zipfiles.
  58.  
  59. ZDCS also provides support for accepting unzipped GIFs.  ZDCS thinks
  60. of such a GIF file as a poor zipfile with only one file in it.  You'll
  61. find more detailed information on GIF files and others in the
  62. reference manual, ZDCS-REF.TXT.
  63.  
  64. This walk-through will guide you in getting ZDCS up and running on
  65. your bbs.  The reference manual, ZDCS-REF.TXT, has more detail on all
  66. sorts of things (probably more than you will want or need), but it's
  67. arranged to be the sort of file where you look things up when you want
  68. more information, not something you read all the way through.  On the
  69. other hand, this walk-through is a friendly guide that will take you
  70. by the hand and show you how easy it is to install ZDCS.
  71.  
  72. Don't be put off by the length of this file.  ZDCS is quite simple to
  73. install.  We've added lots of extra words to explain the process and
  74. your choices for how you want to run ZDCS.
  75.  
  76.  
  77.  
  78. OVERVIEW OF ZDCS
  79. ----------------
  80.  
  81. There are two basic functional parts to ZDCS:  checking an existing
  82. collection of files for duplicates, and checking newcomer files
  83. against the existing collection.  It's set up this way to permit use
  84. on a dynamic collection like a bbs file system, but it can also be
  85. used to look for duplicates on other systems as well, such as a
  86. shareware CD-ROM or even multiple directories on your hard drive
  87. system.  However, the focus is on bbs systems and that's how the
  88. documentation is written.
  89.  
  90. To check an existing collection of files, you have to create a ZDCS
  91. database for that collection.  Then you can use the duplicate report
  92. generator to tell you which files are duplicates and where they are
  93. found.  A little housecleaning based on this report can weed out
  94. duplicates and recover hard drive storage space, something no one ever
  95. has enough of.
  96.  
  97. When new files are added to the collection, you need to be able to do
  98. two things with them:  add the files to the database;  and find out if
  99. there are any duplicates among them.  The most common addition of new
  100. files is via uploads to the bbs.  ZDCS will enable you to process an
  101. upload as soon as it is received, and tells both you and your caller
  102. about duplicate files in that upload.  It can be set to accept or
  103. decline an upload based on the percentage of dupes it finds.  It also
  104. adds any new files to the ZDCS database to keep that up to date.
  105.  
  106. There's a bit more, of course.  ZDCS can be told to decline an upload,
  107. to automatically remove duplicate files, to delete those pesky little
  108. bbs ads from uploads, and to recognize "allowed duplicates" - or any
  109. combination of the above.  You can tell ZDCS to accept anything that a
  110. privileged user uploads, and change your mind on who's "privileged"
  111. and who's not.  There's even a pre-test capability that lets callers
  112. find out ahead of time whether or not their intended upload duplicates
  113. files already on your board.
  114.  
  115. Installing ZDCS to work on your bbs is relatively simple.  The hardest
  116. part may be deciding which options you want to enable.  Let's look at
  117. those first.
  118.  
  119.  
  120.  
  121. ZDCS OPTIONS
  122. ------------
  123.  
  124. Running ZDCS without any of the extra options enabled gives you a
  125. basic duplicate checking system that will not delete any files
  126. automatically.  It will still tell you about all duplicate files, but
  127. it won't be able to distinguish between files you always want to
  128. delete (like bbs ads), files that duplicate exactly ones already on
  129. your board, and files that are duplicates but still important to keep
  130. (like VALIDATE.COM from Macafee's SCAN program).
  131.  
  132. You can try out the different options and change your mind about which
  133. ones you want to use without re-installing ZDCS.
  134.  
  135.  
  136. Deleting Duplicate Files
  137. ------------------------
  138.  
  139. When a new zipfile is uploaded to the board, ZDCS checks it against
  140. the existing database to see if there is any duplication of files.
  141. You can permit ZDCS to not only flag the duplicates but also to delete
  142. them from inside the zipfile, leaving the rest of the upload intact.
  143. This deletion feature does not operate on a GIF file.
  144.  
  145. This is a good time to point out one consequence of deleting all
  146. dupes.  Some shareware authors issue updates that consist of both new
  147. files (executables, perhaps) and unchanged files (registration
  148. information, maybe).  If you enable the deletion of all duplicate
  149. files in an uploaded zipfile, you can lose some of the files that
  150. belong in the author's package.  This brings us to the concept of
  151. allowed duplicates.
  152.  
  153.  
  154. Allowed Duplicates
  155. ------------------
  156.  
  157. You can choose to tell ZDCS that certain files are allowed duplicates.
  158. When you create a list of allowed duplicates, ZDCS knows not to treat
  159. these files as dupes no matter how often they appear.  You can add new
  160. files to the list or delete old ones with any text editor.
  161.  
  162. Why would you want to have allowed duplicates?  There are some files
  163. that reappear frequently as part of shareware or freeware packages,
  164. such as OMBUDSMN.ASP (found in ASP-ware), or VALIDATE.DOC and
  165. VALIDATE.COM (from Macafee's SCAN program).  Especially in a case like
  166. Macafee's where new versions of the program come out frequently, each
  167. with certain standard files included, it would be useful to
  168. "recognize" these duplicate files as being acceptable.
  169.  
  170. There are two places where enabling the allowed duplicates option
  171. makes a difference in how ZDCS runs.  If you have selected the option
  172. to delete duplicate files, it prevents these allowed files from being
  173. deleted.  It also does not figure these files into the calculation for
  174. what percentage of an uploaded zipfile is duplicates.
  175.  
  176. This feature does work for GIF files.  If a GIF is included among the
  177. allowed duplicates, then a repeat upload of the same GIF will not be
  178. flagged as a duplicate, and the upload will be accepted.
  179.  
  180.  
  181. BBS Ads
  182. -------
  183.  
  184. There are some specific files that you may want to delete every time
  185. you run across them.  The prime example of this would be those rude
  186. and annoying bbs ads from you-know-who that a few boards feel it
  187. necessary to add to every zipfile they carry.  You might also have
  188. other problem files that you want to keep off your board, like some of
  189. the pyramid scheme get-rich-quick files that circulate from time to
  190. time.
  191.  
  192. You can opt to tell ZDCS to recognize these nuisances by creating a
  193. bbs ads database.  (This is always referred to as the "bbs ads
  194. database" to distinguish it from the main ZDCS database, which is
  195. bigger and not the least bit optional.)  When you run the upload file
  196. checker, ZDCS will flag any files it finds that match the ones listed
  197. in the bbs ads database.  If you want to do more that just flag these
  198. pests, you can also tell ZDCS to delete all bbs ads automatically.  Of
  199. course, you can include new bbs ads as they are perpetrated.
  200.  
  201. This option is completely independent of the option to delete
  202. duplicate files, so you don't take a chance on removing authors'
  203. unchanged files from newer shareware versions.  The bbs ads option
  204. does not operate on a GIF file.
  205.  
  206.  
  207. Privileged Users
  208. ----------------
  209.  
  210. You can designate one or more user names as privileged users.  Any
  211. file that is uploaded by a privileged user is never declined by ZDCS,
  212. no matter how many duplicate files there may be in it.  Even if you
  213. have enabled deletion of duplicate files and / or bbs ads, ZDCS still
  214. will not delete them if the original zipfile was uploaded by a
  215. privileged user.  The privileged user status takes precedence.  The
  216. list of privileged usernames is a simple ASCII text file that can be
  217. changed without needing to reinstall ZDCS.
  218.  
  219.  
  220. Pre-Testing
  221. -----------
  222.  
  223. You can decide whenever you'd like to allow or disallow pre-testing.
  224. Since it's very easy to enable and won't affect the installation of
  225. ZDCS at all, we've covered it in a separate section at the end of this
  226. walk-through.  After you've gotten ZDCS installed on your bbs, you can
  227. take your time about making the decision to pre-test or not to pre-
  228. test.
  229.  
  230.  
  231.  
  232. INSTALLATION
  233. ------------
  234.  
  235. There are six basic steps to installing ZDCS to work with the bbs:
  236.  
  237. 1.   Copying the ZDCS files to a new ZDCS directory.   (required)
  238. 2.   Setting up the configuration file.           (required)
  239. 3.   Creating the initial database.               (required)
  240. 4.   Creating the bbs ads database.               (optional)
  241. 5.   Creating the list of allowed duplicates.          (optional)
  242. 6.   Setting up the check for uploaded duplicates.     (required)
  243.  
  244. None of the steps is at all difficult.  We'll cover them one by one.
  245.  
  246.  
  247.  
  248. STEP 1 - Copy the ZDCS files
  249. ----------------------------
  250.  
  251. Create a new directory on your system to contain your ZDCS files.  A
  252. good choice is C:\ZDCS - it's clear, concise, and short enough to fit
  253. in your PATH statement.  Please add the directory to your PATH
  254. statement right away.  We'll wait.
  255.  
  256. Now copy the ZDCS files into your new directory.  You can put all the
  257. files from this package into that directory if you want to keep them
  258. all together, but at a minimum you =must= put all the executable
  259. (*.EXE) files from this package there.  There will be more files
  260. coming later, as you create the configuration file and enable some of
  261. the options.
  262.  
  263. From now on, this new directory will be referred to as your ZDCS
  264. directory.
  265.  
  266.  
  267.  
  268. STEP 2 - Set up the config file
  269. -------------------------------
  270.  
  271. The first step in the installation is to create the ZDCS.CFG file for
  272. your configuration.  This is a flat ASCII text file containing
  273. thirteen short lines.  A sample configuration file is included in this
  274. package, so you might want to look at that.  It takes more time to
  275. describe the file than it does to write one from scratch.
  276.  
  277. Put the finished configuration file into the same directory that
  278. contains the executable ZDCS files, unless you're running DOS 2.x.  If
  279. that's the case, either upgrade to at least DOS 3.x or go to the ZDCS
  280. reference manual ZDCS-REF.TXT and read the answer there.
  281.  
  282.  
  283. Line 1
  284. ------
  285.  
  286. This line is the complete drive, path and filename of an ASCII text
  287. file.  The text file identified by this line is one which you create
  288. listing all the pathnames, one on each line, that contain the zipfiles
  289. and GIFs to be included in the database.
  290.  
  291. PCBoard refers to this as the download path list and defaults to
  292. DLPATH.LST as the file name in PCB setup.  You can use that file to
  293. point to the complete bbs file directory if you are =not= using the
  294. index file feature in PCBoard 14.5a.  You can also use the freeware
  295. utility DIRTREE (by Mike Cocke, available on The Hacker Central BBS)
  296. to create this file.
  297.  
  298. There is no upper limit on the number of pathnames that can be
  299. processed.  It does not matter whether or not you've included the
  300. trailing backslash for each pathname.
  301.  
  302. To process a new collection of files into the ZDCS database, like
  303. those on a CD-ROM, just change either this line or the contents of the
  304. file to which it points.
  305.  
  306.  
  307. Line 2
  308. ------
  309.  
  310. This line is the complete drive, path and filename giving the location
  311. of the ZDCS database (ZDCS.NDX and ZDCS.DAT).  It makes no difference
  312. if you include the trailing backslash here or not.
  313.  
  314. You can put the ZDCS database in the same directory as the rest of the
  315. ZDCS files and programs, or you can decide to put it on a different
  316. drive or even across the network.  This was made possible because the
  317. database is the largest pair of files, and some sysops needed the
  318. flexibility of locating them on a drive with more spare room.  All the
  319. rest of the ZDCS files (such as the bbs ads, the allowed duplicates,
  320. and whatnot) are grouped together in the same directory with the
  321. executables.
  322.  
  323.  
  324. Line 3
  325. ------
  326.  
  327. This line is the complete drive, path and filename giving the location of
  328. the privileged user list file.  If you don't want to have any privileged
  329. users on your system, simply leave this line blank.
  330.  
  331. What's a privileged user?  Someone who can upload no wrong.  <grin>
  332. Whenever a file is uploaded by a user named on the privileged user list,
  333. the file is explicitly passed by ZDCS, no matter how many duplicates
  334. there might be in it.
  335.  
  336. Why would anyone want a privileged user?  This feature was added for a
  337. couple of sysops who wanted to pass specific files (beta code) to each
  338. other as part of unattended mail runs, and wanted those files
  339. automatically posted for public access instead of possibly held for later
  340. sysop review.
  341.  
  342. The format of the file containing the privileged user list is
  343. straightforward:  one name per line, ending each line with a CR/LF.  The
  344. list is not case sensitive.  There is no maximum number of names you may
  345. put in the privileged user list, but remember that if you make this a
  346. long list, ZDCS will take longer to check new uploads because it will
  347. have to check every name in this list.
  348.  
  349.  
  350. Line 4
  351. ------
  352.  
  353. This line is either the letter Y or the letter N.  It controls whether
  354. you want ZDCS to add the disposition line to the end of the upload
  355. description.  The disposition line shows the total number of files in an
  356. upload and the number of those that were duplicate files.  It is used
  357. when ZDCS declines an upload.  Here is a sample disposition line:
  358.  
  359.                ZDCS:  12  Duplicates /  12  files
  360.  
  361. The actual numbers will change depending on the file.
  362.  
  363. ZDCS has to be running in standalone mode for this, not with any of the
  364. gateways such as with Extest.  When ZDCS is running with a gateway, then
  365. the actual contents of this line are ignored by the program.  You still
  366. need to have the line present so the total line count doesn't fall off,
  367. but the line can contain anything as a placeholder because the
  368. information will be handled directly via the gateway.
  369.  
  370. This new feature was added by request.  Please note that you must be
  371. running PCBoard 14.5a in order to make use of it, and that the third
  372. command line parameter must be specified (ZDCSFC %1 %2 %3) in your
  373. PCBTEST.BAT file.  Otherwise, leave this fourth line of the config set
  374. to the letter N.
  375.  
  376.  
  377. Line 5
  378. ------
  379.  
  380. This line is either the letter Y or the letter N.  It controls whether
  381. you want ZDCS to truncate nulls from the end of "other" type files
  382. before performing any operations on them.  The truncation is actually
  383. done on a copy of the file and the original is left intact.
  384.  
  385. Nulls (ASCII 0) can be added to the end of a file by some transfer
  386. protocols (such as Ymodem) in order to make the entire file come out
  387. on a block segment.  Other protocols (such as Zmodem) do not add the
  388. null characters.  That would make the identical file uploaded by the
  389. two different protocols slightly different files by the time they
  390. arrived on your system.  If the nulls were included in the file
  391. contents when any calculation or comparison was done, it would look
  392. like two different files instead of the same file transferred by two
  393. different protocols.  Setting this line to the letter Y enables ZDCS
  394. to ignore those extra nulls.
  395.  
  396. The advantage of using this feature is increased accuracy when the
  397. same file is uploaded by different transfer protocols.  The
  398. disadvantage is that it adds a bit of time to the upload checking and
  399. database build operations.  The time is needed for ZDCS to create a
  400. temporary copy of the file in order to remove the exrta nulls, and
  401. again to delete that temporary file, leaving the original upload
  402. intact.
  403.  
  404.  
  405. Line 6
  406. ------
  407.  
  408. This line is an integer - that's a whole number, no decimals - between
  409. 0 and 100.  It sets the maximum percentage of dupes that your bbs will
  410. accept in an upload.
  411.  
  412. ZDCS will calculate the actual percentage of duplicates in the upload
  413. and compare it to your maximum percentage.  If the actual percentage
  414. is lower, the upload is accepted.  If the actual percentage is equal
  415. to or higher than the maximum you specified, the upload is declined
  416. and kept in your private upload directory for your review.
  417.  
  418. Setting the percentage to 100 effectively bypasses this filter, since
  419. it permits a duplicated GIF or a zipfile with nothing but duplicates
  420. to pass.  At the other extreme, setting the percentage to 0
  421. effectively requires that the uploaded GIFs and zipfiles have no
  422. duplicates at all.
  423.  
  424. If you make a mistake and enter a decimal on line 6, ZDCS will not
  425. crash.  It will simply truncate your number (lop off everything after
  426. the decimal point) and use the resulting integer as the maximum
  427. percentage of dupes.
  428.  
  429. This works out quite well in actual practice.  Uploads that are a
  430. fraction of a percent under the maximum percentage of duplicates are
  431. the only files where this makes any difference, and the use of
  432. truncating instead of rounding means that they will always be passed.
  433. IF ZDCS rounded the decimal points instead, there would be some
  434. uploads that would round up, making their actual percentage of dupes
  435. the same as the maximum value.  Such files are declined by ZDCS.
  436.  
  437. For more discussion of maximum and actual percentage of dupes,
  438. including an example of the above situation, please see the section on
  439. the upload file checker ZDCSFC in the manual.
  440.  
  441.  
  442. Line 7
  443. ------
  444.  
  445. This line is the complete drive, path and filename you want ZDCS to
  446. use for the log file created by the upload file checker ZDCSFC.  This
  447. log is an ASCII text file that contains information from the upload
  448. file checker ZDCSFC for each upload it has processed.  Each message
  449. about a specific upload includes the following:
  450.  
  451.      name of the uploaded zipfile or GIF
  452.      list of all component files inside a zipfile
  453.      which files are flagged as bbs ads
  454.      which files are marked as duplicates
  455.      reference to the file already in the database which is duped by
  456. the UL
  457.      which files are marked as allowed duplicates
  458.      actual percentage of dupes in the upload
  459.      whether the upload was accepted or declined
  460.  
  461. The fifth line in the list above is new in ZDCS 2.0.  It means that
  462. when a duplicate file is found in an upload, ZDCS will provide the
  463. reference to the zipfile or GIF containing the copy of that file which
  464. was already on the bbs.  It happened that callers who had uploaded
  465. files with lots of dupes were not always able to find where those
  466. files already existed on the system, often because files had been
  467. renamed.  Those callers sometimes pestered the sysop for this
  468. information, which wasn't always easy for the sysops to locate,
  469. either.  Now this reference is written directly to the upload checker
  470. log file The information includes the name of the zipfile or GIF and
  471. its pathnumber in the system.
  472.  
  473. If PCBOARD.SYS is in the current directory when the upload file
  474. checker is run, then the name of the currently logged caller is also
  475. included in the log file.
  476.  
  477.  
  478. Line 8
  479. ------
  480.  
  481. This line is either the letter Y or the letter N.  It controls the
  482. switch to tell ZDCS whether to delete bbs ads (Y) in an uploaded
  483. zipfile or to just flag them (N).  If you've decided not to enable any
  484. checking for bbs ads at all, just set this to N.
  485.  
  486.  
  487. Line 9
  488. ------
  489.  
  490. This line is either the letter Y or the letter N.  It controls whether
  491. you want ZDCS to delete all duplicate files from an upload (Y) or just
  492. flag them and leave them intact (N).
  493.  
  494.  
  495. Line 10
  496. -------
  497. This line is reserved for a single line of text by the sysop.  The
  498. contents of this line are appended to the PCBFAIL.TXT file whenever an
  499. upload is declined.  The caller who has just uploaded the declined
  500. file sees this line of text as a message on the screen.
  501.  
  502. This line is where you can express from 1 to 72 characters' worth of
  503. creativity.  Some callers have become quite fixated on the idea that
  504. "declined" is the same as "thrown out" - which is of course not true.
  505. You can use this line to tell the caller what has happened or will
  506. happpen with the upload.  One possible line to use is:
  507.  
  508.      Too many duplicate files - upload must be reviewed by sysop.
  509.  
  510. If you don't want to display any message to the caller, just place
  511. something innocuous like a period or even a blank space on this line.
  512. Just don't leave the line completely blank!  You also shouldn't use
  513. any quotation marks in this line.  You can make use of PCBoard
  514. @variables and &filespec to your heart's content;  both are fully
  515. supported here.
  516.  
  517.  
  518. Line 11
  519. -------
  520. This line contains the filename ZDCSFC.OUT and nothing else.  For all
  521. practical purposes, this line is planning for the future.
  522.  
  523. Technically, this line points to the name of an ASCII text file that
  524. will be created every time an upload is processed.  It's a spare copy
  525. of the ZDCS summary information that most upload checkers overwrite.
  526. ZPEND and some utilities-in-progress use it.
  527.  
  528. Leave this line set to ZDCSFC.OUT until further notice or features.
  529.  
  530.  
  531. Line 12
  532. -------
  533.  
  534. This line is the complete drive and pathname of a RAM drive that is
  535. available to ZDCS for certain types of processing work.
  536.  
  537. ZDCS can make use of a RAM drive to speed up the processing of
  538. embedded zipfiles.  It can also use the RAM drive to process "other"
  539. files if you set config line 5 to Y in order to truncate nulls.
  540.  
  541. The existance of the RAM drive is verified by ZDCS, but the amount of
  542. space available on it is not checked.  If you run out of space on the
  543. RAM drive while ZDCS is processing an upload, the upload will be
  544. declined.
  545.  
  546. If you do not want to use a RAM drive, leave this line blank.
  547.  
  548.  
  549. Line 13
  550. -------
  551. This line consists of the single letter Y or N.  It controls whether
  552. ZDCS displays the one line "Registered to..." message after the board
  553. receives an upload (Y) or turns off the display of this message (N).
  554. Either way, the caller still sees the file by file breakdown of the
  555. upload and the status (duplicate, bbs ads, etc.) of each file.
  556.  
  557. This line is only recognized by the registered version of ZDCS.  It
  558. has no effect on the three line message displayed by the unregistered
  559. version.  It is also the only line of the configuration file that you
  560. can forget to include without causing major problems.  If the line is
  561. missing, ZDCS defaults to (Y) and displays the message.
  562.  
  563. This would probably be a fine time to wax poetical about the
  564. advantages of registration.  Instead, we'll just direct you to the
  565. section in this manual on registration for more information about
  566. that, and to the section on support for some of the reasons why.
  567. (Actions speak louder than words.)
  568.  
  569.  
  570.  
  571. STEP 3 - Create the initial database
  572. ------------------------------------
  573.  
  574. The next step after creating the configuration file is to create the
  575. initial database of CRC value values.  To do this, you simply run the
  576. database build program ZDCSDB.EXE.   Assuming that you have created
  577. the configuration file properly, there is nothing more to be done
  578. until this program finishes processing the files.
  579.  
  580. While ZDCSDB.EXE is running, the display points out that you may press
  581. the escape key at any time to abort.  This is the only safe way to
  582. abort the database build!  Ignore this warning and the chances are
  583. good that you will be rewarded with lost clusters on your hard disk.
  584. (This has been an official warning.)
  585.  
  586. There will also be other useful and esoteric bits of information on
  587. the screen, but you can read more about those in the reference manual
  588. ZDCS-REF.TXT.  The one that will probably interest you the most is on
  589. the very last line, right after the start time.  After the database
  590. build is complete, the end time appears here.
  591.  
  592. Usually you will be using ZDCSDB.EXE on a collection of files that
  593. have already passed a file integrity checker.  If for some reason this
  594. is not the case, you can still use ZDCSDB on those files by making use
  595. of the T (for Test) switch.  This slows the processing down
  596. tremendously.  It's really a better solution to use a file integrity
  597. checker to handle this duty, but ZDCSDB T is a workable alternative if
  598. you need it.
  599.  
  600. What happens when you use the T?  ZDCS determines whether the zipfile
  601. was made with PKZIP or with ARJ, and then sends out to the appropriate
  602. one to come in and test each zipfile.  Any one that is damaged is
  603. marked and not processed by the database builder.  GIF files are
  604. passed over, so they receive no file integrity checking at all.  The
  605. GIFs are still processed by ZDCS to add them to the database.
  606.  
  607. There is a log file called ZDCS-DBB.LOG created by the database build
  608. operation.  This is where you would find messages about corrupt
  609. zipfiles ZDCS encounters while trying to build the database, for
  610. example.  If you have any problems while running ZDCSDB.EXE, look in
  611. this log file for help in understanding what happened.
  612.  
  613. It is entirely likely that when you first create the initial database
  614. you will already have some duplicate files in your collection of
  615. zipfiles and GIFs.  To find out about them, use the database report
  616. generator ZDCSDR.EXE to generate a flat ASCII text file called ZDCS-
  617. DUP.LST.  This will create a three part report that is ready for
  618. viewing or printing.
  619.  
  620. Part one is a list of zipfiles or GIFs that are 100% duplicates of
  621. other files in the database.  Part two is a list of zipfiles that have
  622. some level of duplication, but also contain at least one non-
  623. duplicated file.  Part three is the complete list of all duplicate
  624. files in the database, including the name and CRC value of the
  625. duplicated file and the identity with full drive and pathname of the
  626. zipfile or GIF containing the dupe.
  627.  
  628. Note that no duplicate files are deleted by ZDCSDR.EXE when you create
  629. the initial database.  The list of duplicates, ZDCS-DUP.LST, can be
  630. used by the sysop to remove any duplicate files in the system.
  631.  
  632. After the sysop has cleaned up the file system and removed any
  633. duplicate files, it is possible to purge duplicate entries from the
  634. CRC database in order to reduce its size.  This is covered in the
  635. reference manual ZDCS-REF.TXT.
  636.  
  637.  
  638.  
  639. STEP 4 - Create the bbs ads database
  640. ------------------------------------
  641.  
  642. This step is optional.  You need it only if you want to flag and/or
  643. delete bbs ads from uploaded zipfiles.  If you want to complete the
  644. basic installation and do this step at a later date, that's fine too.
  645.  
  646. ZDCS doesn't quite have the intelligence to recognize a bbs ad unless
  647. you tell it which files to look for.  To do this, you have to create
  648. the bbs ads database.  This consists of a single file, ZDCS-BBA.NDX,
  649. which will be located in the same directory as the rest of the ZDCS
  650. files.
  651.  
  652. The easiest way to do this is to first collect all those nasty ads
  653. together and collect them up into one zipfile.  You can do this using
  654. either PKZIP or ARJ.  Use whatever name you like for the file;  this
  655. example is going to call it BBS-ADS.  Then run the program ZDCSBA.EXE
  656. from the directory containing all the ZDCS files.  The syntax (now 6%
  657. in NJ) is:
  658.  
  659.      ZDCSBA BBS-ADS.ZIP       or        ZDCSBA BBS-ADS.ARJ
  660.  
  661. (If you have used a different name for your collection of bbs ads,
  662. just use that name in place of BBS-ADS.)  The program will create the
  663. database files and you will be ready to flag or delete all that free
  664. advertising.  Whether or not you delete the bbs ads is controlled by
  665. line 8 of the configuration file.  You did read the section on setting
  666. up the configuration file, right?
  667.  
  668. If you want to create a new bbs ads database in the future, just
  669. delete the old bbs ads database file (ZDCS-BBA.NDX) and follow these
  670. same steps to create the new one.  If you don't delete the old
  671. database, then the new ads will be added to the old ones in the
  672. database, which is an easy way to add new bbs ads.
  673.  
  674. To make it even easier to include single ads as they come on the
  675. market, you can also run this program on an individual bbs ad, whether
  676. it is archiveded (with PKZIP or ARJ) or unarchived.  So, if a new bbs
  677. ad named HAPPY.BBS shows up, you can issue the command:
  678.  
  679.           ZDCSBA HAPPY.BBS
  680.  
  681. This will add HAPPY.BBS directly to the bbs ads database.
  682.  
  683. There are other ways of adding bbs ads to the bbs ads database, some
  684. of which don't even require you to have the original nuisance files on
  685. hand any more.  For more information about this, see the section in
  686. the technical reference manual on UPDATING THE BBS ADS DATABASE.
  687.  
  688. The variety of ways you can add new bbs ads to the database makes it
  689. easy to share information with other sysops and to catch new
  690. annoyances as they are foisted upon us.
  691.  
  692.  
  693.  
  694. STEP 5 - Create the list of allowed duplicates
  695. ----------------------------------------------
  696.  
  697. This step is also optional.  You need to do this only if you want ZDCS
  698. to recognize certain files as allowed duplicates.  Allowed duplicates
  699. were discussed in the section on ZDCS options earlier in this walk-
  700. through.
  701.  
  702. Allowed dupes are a special case.  They are not flagged as dupes when
  703. they are encountered by ZDCS;  they are also not considered "original"
  704. or non-dupe files.  They are transparent in any calculations,
  705. completely and utterly ignored.  They aren't even counted when
  706. reporting the number of files in the zipfile.
  707.  
  708. An example may make this clearer.  Suppose a zipfile had a total of 15
  709. files.  Two of those were allowed dupes, three were regular dupes, and
  710. one was a bbs ad.  ZDCS would report the following information:
  711.  
  712.           13   files in the zipfile
  713.            1   bbs ad
  714.            3   dupes
  715.           25%  dupes
  716.  
  717. The number of files in the zipfile would be 13 and not 15 because the
  718. two allowed dupes are excluded from all the calculations.  The
  719. percentage of dupes would be 25% (100% * 3/12) because the bbs ad,
  720. once identified, would not be part of the calculation of duplicate and
  721. original files.
  722.  
  723. Whether or not the option to recognize allowed dupes is enabled is
  724. controlled by the presence or absence of an ASCII text file called
  725. ZDCS.ADN in the ZDCS directory on your system.  This file is one that
  726. you create with any text editor to list all the files, one per line,
  727. that are allowed duplicates.  You can designate an allowed duplicate
  728. by either its file name or its CRC value.  You can even mix the two
  729. styles in the same file if you want to specify some files by name
  730. (like VALIDATE.DOC) and others by CRC value.
  731.  
  732. To specify an allowed duplicate by name, just type the dollar sign $
  733. followed immediately by the name of the file with its extension - no
  734. blank spaces in between.  This preserves a file with a distinctive
  735. name (like OMBUDSMN.ASP) even if it undergoes some revisions.
  736.  
  737. To specify an allowed file by its CRC value, type the pound sign #
  738. followed immediately by the CRC value for the file - no blank spaces
  739. in between.  If you don't know the CRC value offhand, you can get this
  740. information from either PKZIP or ARJ.  With PKZIP, type
  741.  
  742.           PKZIP -V <ZIP filename>
  743.  
  744. to give you the CRC values for each individual file inside the ZIP
  745. file.  With ARJ, type
  746.  
  747.           ARJ L <ARJ filename>
  748.  
  749. to give you the same CRC information.
  750.  
  751. The ZDCS.ADN file may be up to 256 lines long, but must contain no
  752. blank lines and no blank spaces.
  753.  
  754.  
  755.  
  756. STEP 6 - Set up the upload file check
  757. -------------------------------------
  758.  
  759. Almost done!  Now that you have created the ZDCS duplicate file
  760. database, all you need to do is get the bbs to check all uploaded
  761. zipfiles and GIFs from now on.  This will be done by processing the
  762. uploaded zipfiles and GIFs with the upload file checker ZDCSFC.EXE as
  763. the files are received.
  764.  
  765. ZDCSFC.EXE is the real-time upload file checker.  If the uploaded file
  766. was a GIF, ZDCSFC.EXE first calculates the CRC value for it.  Then it
  767. compares the CRC value of the uploaded zipfile or GIF against the ZDCS
  768. database and the bbs ads database (if you've created the bbs ads
  769. database, that is).  The results of this comparison are displayed file
  770. by file for the caller and logged into the ZDCSFC log file.  (Remember
  771. back on line 7 of the configuration file, when you specified the path
  772. and filename for this log?)
  773.  
  774. ZDCSFC.EXE calculates the actual percentage of duplicate files in the
  775. upload.  Since a GIF is a single file, it will either be 0% (not a
  776. dupe) or 100% (a dupe).  For zipfiles, this actual percentage can vary
  777. anywhere between 0 and 100.  ZDCSFC.EXE compares this actual
  778. percentage against the maximum percentage you set in line 6 of the
  779. configuration file.  (Boy, that configuration file is a handly little
  780. thing.)
  781.  
  782. If the actual percentage is lower than the maximum, the upload is
  783. accepted.   If the actual percentage is equal to or higher than the
  784. maximum you specified, the upload is declined.  The file is never lost
  785. or dumped!  PCBoard keeps these declined files in your private upload
  786. directory, where you can review them.
  787.  
  788. If you want to bypass this filter, set the percentage to 100.  This
  789. permits a duplicated GIF, or a zipfile with nothing but duplicates, to
  790. pass the filter and never be declined.  At the other extreme, you can
  791. set the percentage to 0.  This effectively requires that the uploaded
  792. GIFs and zipfiles have no duplicates at all, or they will be declined.
  793.  
  794. ZDCSFC.EXE also updates the ZDCS database with the CRC values of all
  795. uploads to keep your database current.  You do not have to do anything
  796. special to include this information in the database for comparisons
  797. with future uploads.
  798.  
  799. ZDCSFC.EXE does not modify the bbs ads database at all.  It's still
  800. not smart enough to recognize a bbs ad until you've pointed it out
  801. first - but it does remember them next time it sees them.
  802.  
  803. To process the new uploads with ZDCSFC.EXE, it must be called by the
  804. PCBTEST.BAT file of PCBoard or by your file integrity checker.
  805.  
  806. You may choose whichever file integrity checker you like best (or have
  807. already installed) to work with ZDCS.  You might find the integration
  808. between the two to be seamless, as with EXZTEST version 2.23 and the
  809. coming Xtest 3.0.  Even if the two aren't integrated, you can still
  810. call ZDCSFC after your file integrity checker has finished processing
  811. the upload, and ZDCS will take its turn on the file.  There are a
  812. couple of special utilities that smooth the meeting between various
  813. file integrity checkers and ZDCSFC.EXE.  You'll find more information
  814. on them in the technical reference manual, and the utilities
  815. themselves on The Hacker Central BBS.
  816.  
  817. To use ZDCS with the file integrity checker of your choice (even if
  818. it's just PKZIP -T), there are a couple of things you need to include
  819. in the PCBTEST.BAT file.
  820.  
  821. First, it's highly recommended that you include the following three
  822. lines to clean out old copies of these files left over from processing
  823. other uploads:
  824.  
  825.                @IF EXIST PCBFAIL.TXT DEL PCBFAIL.TXT
  826.                @IF EXIST PCBPASS.TXT DEL PCBPASS.TXT
  827.                @IF EXIST ZDCS-DEL.LST DEL ZDCS-DEL.LST
  828.  
  829. Second, call your integrity file checker to process the upload.  (Your
  830. syntax may vary.)
  831.  
  832. Third, call ZDCSFC.EXE to check the upload.  The appropriate command
  833. is:
  834.  
  835.                ZDCSFC %1 %2 %3
  836.  
  837. The three parameters %1, %2 and %3 are provided by PCBoard 14.5a.  If
  838. you are using ZDCS on a different bbs or on a non-bbs application like
  839. CD-ROM mastering, check out the third party interface file for more
  840. information on how to handle this.  The file is available on The
  841. Hacker Central as ZDCS-TPI.ZIP.
  842.  
  843. If you are running a version of PCBoard older than the May 22, 1991
  844. version 14.5a, PCBoard will provide only two parameters.  Since the
  845. third one is needed for pre-testing (and for the disposition line),
  846. that means you must not enable those features. Other than that, ZDCS
  847. should be OK on those older versions.
  848.  
  849. At the end of processing by ZDCSFC.EXE, you either have a new file
  850. called ZDCS-DEL.LST or you don't.  This file contains the list of
  851. individual files within an uploaded zipfile that are targeted for
  852. deletion.  If you haven't enabled any deletion of either duplicate
  853. files or bbs ads, this file won't be created.  Even if you have
  854. enabled one or both of these deletions, the file still won't be
  855. created unless the upload that was just processed had something to be
  856. deleted.
  857.  
  858. Fourth, if there are files to be deleted, then perform the deletion:
  859.  
  860.           IF EXIST ZDCS-DEL.LST PKZIP -D %1 @ZDCS-DEL.LST
  861.           IF EXIST ZDCS-DEL.LST ARJ D %1 !ZDCS-DEL.LST
  862.  
  863. If the zipfile was made with PKZIP, then the first line will take care
  864. of it and the second line will return an error message.  If the
  865. zipfile was created with ARJ, then the first line will return an error
  866. message and the second line will take care of the file.  The error
  867. message can be ignored;  it will not lock up your machine or halt the
  868. processing.
  869.  
  870. Note that the actual deletion is done by PKZIP or ARJ.  This is also
  871. the only time an existing AV stamp on an upload can be affected by
  872. ZDCS.
  873.  
  874. This concludes our tour of PCBTEST.BAT.
  875.  
  876. In addition to creating the required PCBPASS.TXT and PCBFAIL.TXT
  877. files, ZDCSFC.EXE also sets the DOS error level when it exits.  These
  878. levels are explained in the reference manual ZDCS-REF.TXT.
  879.  
  880.  
  881.  
  882. PRE-TESTING
  883. -----------
  884.  
  885. Callers have been enthusiastic about duplicate checking on a bbs file
  886. system - until they discover that the huge file they've just finished
  887. sending your bbs at 2400 baud is a set of complete duplicates.  Many
  888. of them asked for a way to pre-test an upload before actually
  889. transmitting the entire file.  ZDCS gives them this capability without
  890. requiring any ongoing handholding, explanations or help from the
  891. sysop.
  892.  
  893. Pre-testing is most valuable when it's simple enough that callers
  894. actually use it.  ZDCS pre-testing requires nothing that might tax a
  895. relatively novice uploader's skills.  There are no special files to
  896. download, no complicated operations to get right, no arcane rituals to
  897. perform.  All that your callers need is PKZIP and enough skill to
  898. upload a file.  (An alternate pre-testing method for systems using ARJ
  899. is in development but awaits the completion of the current ARJ beta
  900. cycle.)
  901.  
  902. There are four simple things for you to do so that ZDCS pre-testing
  903. runs smoothly on your bbs.
  904.  
  905. 1. Make sure that your board code is no earlier than PCBoard version
  906.    14.5a from May 22, 1991.  This and all subsequent versions of
  907.    PCBoard support ZDCS pre-testing.
  908.  
  909. 2. Confirm that the PCBTEST.BAT file contains the following line:
  910.  
  911.                   ZDCSFC %1 %2 %3
  912.  
  913.    You already set up the PCBTEST.BAT file as part of the ZDCS
  914.    installation.  Just check it one more time, OK?  If you've
  915.    inadvertently left out the third parameter, the pre-test will work
  916.    just fine for the first caller and will barf all over subsequent
  917.    callers, who will come complaining to you that their ZDCSTEST.CHK
  918.    is being called a duplicate!
  919.  
  920. 3. Make sure that *.CHK files may be uploaded to your bbs.  This is
  921.    done via the UPSEC file, part of PCBoard.  If you don't permit
  922.    callers to upload files with the .CHK extension, you've
  923.    effectively prevented them from using the pre-test feature.
  924.  
  925. 4. When you're ready, post the sample bulletin included in this
  926.    release of ZDCS to explain to callers what the pre-test feature is
  927.    all about.  The bulletin holds your callers' hands through the
  928.    whole process, which should take some of the load off you.  If
  929.    your bbs permits the uploading of ARJ, SFX or GIF files, you might
  930.    want to add those initials where you see ZIP in the bulletin.  A
  931.    ZIP-only bbs can use the canned bulletin right from the package.
  932.  
  933. If you track your callers' uploads and downloads, you might like to
  934. know that the ZDCSTEST.CHK will not count as an upload.  The bulletin
  935. mentions this little fact just in case some of your callers are a bit
  936. =too= enthusiastic about collecting upload credits.
  937.  
  938.  
  939.  
  940. THAT'S ALL, FOLKS!
  941. ------------------
  942.  
  943. That's all there is to it, and there ain't no more.  ZDCS is fully
  944. installed on your system.  If you want to fiddle with the options, go
  945. right ahead.  Most of them can be turned on or off with no more than a
  946. line change in the configuration file.
  947.  
  948. If you have more questions or are just curious about parts of ZDCS,
  949. take a look at the reference manual ZDCS-REF.TXT.  It has more
  950. excruciating and technical details than this walk-through does.
  951.  
  952. You will also find information about registration (ZDCS is reasonably
  953. priced shareware - $25.00), support, access to free utilities and
  954. accessories and a host of other goodies in the reference manual - even
  955. how to reach us with comments and suggestions.
  956.  
  957.